Self-configuring photo-voltaic panels

ABSTRACT

Methods and apparatus for controlling an energy-generation device may be provided. Sockets of the device may be configured to electrically couple to respective energy-generation modules. In some examples, the device may include a connector, memory, and a processor configured to execute instructions for managing the electrical configuration of the sockets.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is related to U.S. patent application Ser. No. 14/828,035, filedAug. 17, 2015 entitled “ENERGY GENERATION INTERCONNECTION,” the entirecontents of which is hereby incorporated by reference as if fully setforth herein.

BACKGROUND

In recent years, climate awareness and the cost of energy has increasedto the point that many consumers have begun to install renewable energygeneration systems at both residential and non-residential locations.Solar photovoltaic (PV) systems, for example, have become relativelypopular and can be connected to an inverter for converting the energyinto a usable source for the location. However, most of these PV systemsincludes PV panels that are statically connected and hard-wired to oneanother. As such, if conditions at the location, or energydemands/requirements from a grid or the inverter, change, the PV systemsmay not be equipped to handle this. Additionally, connection devicesthat can be used to connect multiple panels into an array may not beable to adapt to changes in physical configuration or when panels of thearray degrade or fail.

BRIEF SUMMARY

In the following description, various embodiments will be described. Forpurposes of explanation, specific configurations and details are setforth in order to provide a thorough understanding of the embodiments.However, it will also be apparent to one skilled in the art that theembodiments may be practiced without the specific details. Furthermore,well-known features may be omitted or simplified in order not to obscurethe embodiment being described.

According to one embodiment, a solar panel is described. In someexamples, the solar panel may comprise a structure configured to supporta plurality of energy-generation cells and including at least one socketconfigured to electrically couple to at least one additional solar panelor an inverter, a memory for storing computer-executable instructions,and a processor configured to access the memory and execute thecomputer-executable instructions. In some cases, the processors may atleast identify a total number of additional solar panels electricallycoupled together that form a solar array. The processors may alsoidentify a first electrical configuration of the solar array and/orreceive electrical performance characteristics of each solar panel ofthe solar array. In some cases, the processors may also determine, basedat least in part on the electrical performance characteristics and anoptimal energy output amount, a second electrical configuration for thesolar array and/or configure electrical connectivity of the at least onesocket based at least in part on the determined second electricalconfiguration.

In some aspects, the solar panel may comprise a plurality ofphoto-voltaic cells. Additionally, the solar panel may also comprise aplurality of connection devices comprising at least one of a relay or aswitch, where each connection device of the plurality of connectiondevices may be configured to connect the at least one additional solarpanel for configuring the electrical connectivity. The first electricalconfiguration of the at least one socket may comprise a firstcombination of series and/or parallel arrangements between the solarpanel and the at least one additional solar panel. The second electricalconfiguration of the at least one socket may comprise a secondcombination of series and/or parallel arrangements between the solarpanel and the at least one additional solar panel that is different fromthe first combination of series and/or parallel arrangements. In someexamples, the panel comprise a communication device configured toreceive information from a second solar panel and/or the processors maybe configured to determine the second electrical configuration based atleast in part on the information received from the second solar panel.

According to another embodiment, an energy-generation panel isdescribed. The panel may comprise a structure configured to support aplurality of energy-generation cells and including one or more socketsconfigured to receive and electrically couple to one or more additionalenergy-generation panels, a memory for storing computer-executableinstructions, and/or a processor configured to access the memory andexecute the computer-executable instructions to at least manageelectrical connections of the one or more sockets. In some aspects, theprocessors may also receive electrical performance characteristics of anenergy-generation system, the energy-generation system comprising atleast the energy-generation panel electrically coupled to the one ormore additional energy-generation panels and/or configure electricalconnectivity of the one or more sockets in any combination of series andparallel arrangements based at least in part on the electricalperformance characteristics of the energy-generation system.

In some examples, the configured combination of series and parallelarrangements of the one or more sockets may be different from a secondcombination of series and parallel arrangements of the one or moresockets that was configured prior to receipt of the electricalperformance characteristics. Additionally, the second combination ofseries and parallel arrangements may be less efficient than theconfigured combination of series and parallel arrangements associatedwith the configured electrical connectivity of the one or more sockets.In some examples, the panel may also comprise means for measuring theelectrical performance of the energy-generation system. The panel mayalso comprise a communication device configured to receive informationfrom a second energy-generation panel and the communication device mayreceive the information over a wireless network or through an electricalcoupling between the energy-generation panel and the secondenergy-generation panel.

In another embodiment, a method for managing connections between anenergy-generation panel and additional energy-generation panelselectrically coupled to sockets of the energy-generation panel isdescribed. In some examples, electrical performance characteristics ofan energy-generation array comprising the energy-generation panel andthe additional energy-generation panels may be received. Additionally,an electrical configuration for the sockets may be determined based atleast in part on the electrical performance characteristics and anoutput factor. Further, electrical connectivity of the sockets may beconfigured to connect at least a subset of panels that make up theenergy-generation array based at least in part on the determinedelectrical configuration.

In some examples, the electrical performance characteristics may bereceived from a server computer configured to measure the electricalperformance of the energy-generation array. Additionally, a request foroperational performance of the energy-generation panel may be receivedfrom the server computer. In some aspects, the request may be receivedbased at least in part on a schedule or a trigger. The arrangement maycomprise a combination of series and parallel arrangements and/or theenergy generation panel may have a first shape that is different from asecond shape of at least one of the additional energy-generation panels.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is set forth with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different figures indicates similaror identical items.

FIG. 1 is a simplified block diagram illustrating an examplearchitecture and environment for controlling smart energy-generationdevices as described herein, according to at least one example.

FIG. 2 is another simplified block diagram illustrating at least somefeatures associated with controlling a smart interconnect device asdescribed herein, according to at least one example.

FIG. 3 is another simplified block diagram illustrating at least someadditional features associated with controlling the smart interconnectdevice as described herein, according to at least one example.

FIG. 4 is another simplified block diagram illustrating at least someadditional features associated with controlling the smart interconnectdevice as described herein, according to at least one example.

FIG. 5 is another simplified block diagram illustrating at least someadditional features associated with controlling the smart interconnectdevice as described herein, according to at least one example.

FIG. 6 is another simplified block diagram illustrating at least someadditional features associated with controlling the smart interconnectdevice as described herein, according to at least one example.

FIG. 7 is another simplified block diagram illustrating at least somefeatures associated with controlling a smart energy-generation panel asdescribed herein, according to at least one example.

FIG. 8 is another simplified block diagram illustrating at least someadditional features associated with controlling the smartenergy-generation panel as described herein, according to at least oneexample.

FIG. 9 is another simplified block diagram illustrating an examplearchitecture for implementing the smart interconnect device and/or thesmart panel in connection with a service provider as described herein,according to at least one example.

FIG. 10 is a simplified flow diagram illustrating an example processassociated with controlling the smart interconnect device describedherein, according to at least one example.

FIG. 11 is a simplified flow diagram illustrating an example processassociated with controlling the smart panel described herein, accordingto at least one example.

FIG. 12 depicts a simplified block diagram of a computing system forimplementing some of the examples described herein, according to atleast one example.

DETAILED DESCRIPTION

In the following description, various examples will be described. Forpurposes of explanation, specific configurations and details are setforth in order to provide a thorough understanding of the examples.However, it will also be apparent to one skilled in the art that theexamples may be practiced without the specific details. Furthermore,well-known features may be omitted or simplified in order not to obscurethe examples being described.

Examples of the present disclosure are directed to, among other things,energy-generation connection devices. In some examples, anenergy-generation connection device may be a smart interconnect device(smart interconnection device) designed to connect one or moreenergy-generation modules, nodes, panels, cells, etc. in such a way thatthe electrical configuration of each connected energy-generation moduleare easily connected and/or changed. In other words, a system thatcontrols the energy-generation connection device may receive and/oridentify a change in environmental conditions, and dynamically and/orremotely optimize the electrical configuration of the connected modules,perhaps based on the environmental conditions. For example, theelectrical configuration of the modules may have included someparticular combination of series and parallel, and that configurationmay be changed to all series, all parallel, or some other combination ofseries and parallel.

In some examples, the configuration may be changed to match an outputrequirement (e.g., limitations of the inverter, or the like) or tooptimize the output of the array based at least in part on a range,setting, or efficiency standard. In some examples, the energy-generationmodules may be PV panels or other sources of energy that can beconnected, and the smart interconnect device can connect any number ofPV panels. The energy-generation modules may also be any type ofdistributed energy-generation source that can be connected, controlled,and/or configured. For example, the modules may be any combination ofsolar, wind, hydro-electric, or stored energy (e.g., batteries) sources.Further, multiple smart interconnect devices may be used to create anarray of modules (e.g., panels) that can all be controlled in aggregatedmodular fashion, where each smart interconnect device may be configuredto communicate with one another. In some examples, the smartinterconnect device may also be configured to structurally secure thepanels of the array together and/or secure the array to a surface, suchas a roof. Additionally, in some examples, the devices may be used toconnect modules in any conceivable configuration without regard for theelectrical connection, and without expecting the connection to changedynamically. In other words, the devices may enable a staticconfiguration that was not determined until the installation. In thisway, the smart interconnect devices may enable installation of moduleson the fly that are suitable for particular inverters without firstdefining the output requirements of the system.

In other examples, the energy-generation connection device may be asmart panel (e.g., a PV panel) designed to connect to one or more otherpanels (smart panel or otherwise) in such a way that the electricalconfiguration of each connected energy-generation panel may be changed.Similar to the smart interconnection device noted above, the smart panelmay be configured or self-configured to change the electricalconfiguration of the connected modules, including its own configuration.For example, if the smart panel were connected to another panel, thesmart panel may be able to change the electrical configuration betweenitself and the other panel from series to parallel or from parallel toseries. Similarly, if the smart panel were connected to another smartpanel, the two smart panels would be able to communicate with oneanother and either one of them could control the electricalconfiguration of the group (connected panels). Additionally, any numberof smart panels could be connected to each other and/or to othernon-smart panels as desired. As such, the aggregate voltage and/oramperage of the array could be changed to optimize the output, adapt toenvironmental conditions, and/or mange degraded or failed panels thatare part of the array of connected panels, much like the way that thesmart interconnect would be able to optimize the output of any (or asubset) of the modules that are interconnected.

Smart connection devices (e.g., smart interconnects and/or smart panels)may be configured with one or more computing/control systems includingat least processors, memory, and/or communication devices. Thecommunication devices may be configured for communicating with othersmart connection devices and/or a server accessible over a network(e.g., the Internet or other public or private networks). Further, insome examples, a gateway device may be located at the location (e.g.,the location of the smart connection devices and energy-generationpanels) and may be configured to facilitate communication between thesmart connection devices and the server. Essentially, the gateway devicemay route signals from the smart connection devices to the server, andvice versa. In some examples, environmental condition changes and/orperformance changes may be reported to a remote server. Remote (e.g., atthe server) and/or local (e.g., at the device) diagnostic checks may beperformed to identify current working conditions or operational data ofthe system. As such, performance anomalies, failed modules, and/orchanged weather conditions may be identified remotely or locally. Insome examples, signals may be sent to the smart connection devicesperiodically and/or based on a trigger (e.g., a request) to requestoperational information, and diagnostic tests may be performed on theresults returned to the server (or servers). As such, modules or othersubsets of the system may be monitored, tested, and/or reconfiguredwithout physically visiting the location of the system.

Additionally, the smart connection devices may be able to communicatewith one another to discover the layout of the array (e.g., number ofpanels, topology/arrangement of panels, etc.) and determine an optimalelectrical connectivity scheme to maximize the total output. The smartconnection devices can intelligently switch panel connectivity (parallelarrangements and/or serial arrangements) in real-time or upon request.For example, if cloud cover obscures portions of a solar farm, the smartconnection devices can, in real-time, determine an optimal configurationfor the entire array and change the connectivity between the panels tocontinually optimize performance. In some examples, reconfiguring theelectrical connectivity in real-time may include performing thereconfiguration substantially immediately after receiving theenvironmental conditions (e.g., cloud or other obstruction cover,degraded devices, failed devices, updated inverter or other outputrequirement, etc.) and/or without receiving a request to reconfigure(e.g., from a user, from a server, etc.). In other words, the smartconnection device may receive a signal identifying an environmentalcondition change, determine a new configuration, and reconfigure theconnectivity of the connected panels, without physically re-arrangingthe panel positions.

FIG. 1 shows example location 100 where one or more smart connectiondevices may be installed. In this example, residential building 102 maybe equipped with array 104 of PV panels installed on the roof. However,as desired, array 104 may be installed on any part of building 102and/or may be in any geometric configuration (e.g., square, rectangular,“L” shaped, etc.). In some examples, array 104 may be made of anycombination of smart PV panels 106, smart interconnection devices 108,and/or standard (e.g., non-smart) PV panels. The cross-hatched patternof smart panel 106 and the other panels illustrates that the panels maybe configured with a plurality of electrically connected PV cells (e.g.,the panel may be a frame that supports the PV cells) and provides one ormore electrical outputs (voltage and current) for the panel based atleast in part on the aggregate energy generated by the cells.

In some examples, array 104 may be electrically connected to inverter110 and/or metering device 112. Inverter 110 may be configured toreceive direct current (DC) electricity from array 104 and convert it toalternating current (AC) electricity for residence 102 (e.g., to provideelectricity to appliances or other electronic devices at location 100).In some examples, inverter 110 may require a particular voltage outputor range of voltage output from array 104. As such, if inverter 110 isupdated or changed, the output requirements may change. As described,smart interconnect device 108 and/or smart panel 106 may be configuredto communicate with one another and/or to detect the configuration ofarray 104. In this way, when conditions change (e.g., new inverter,weather changes, etc.), total output (voltage and/or current) of array104 may be dynamically changed in real-time. The new voltage and/orcurrent may be optimized for the new conditions.

In some examples, an array of panels may be installed on a roof (orother location) of a building. The panels may be placed in such a waythat they fill up the available space without any consideration for theoutput requirements at the location. Using smart interconnect devices106 and/or smart panels 108 as described herein, the array (e.g.,through wired or wireless communication modules of smart devices 106,108) may be able to communicate with gateway device 114 and/or serviceprovider computer 116 through one or more networks 118. Once installed,service provider computers 116 may be configured to provide instructionsto smart devices 106, 108 to change, redirect, or otherwise optimize theelectrical output of the array. Additionally, service provider 116 mayperiodically (or based on a trigger) run diagnostic tests on and/ormeasure the electrical performance of the array. Measurements may beperformed by local or remote metering devices (e.g., multi-meters, voltmeters, or the like that are configured with terminals coupled to thesockets and/or modules of the system. Using communication with serviceprovider computers 116 and/or based at least in part on logicimplemented by smart devices 106, 108, the electrical configuration ofthe panels may be dynamically updated at any time to accommodatechanging conditions (failed panels, faulty wiring, cloud cover, treecover, animal interference, etc.). As such, the output of a singlemodule (panel) of array 104 may be turned off, deactivated, or otherwiserouted around to isolate the modules effect on array 104. Additionally,portions of modules may be controlled to provide more granular/modularcontrol of array 104. For example, strings or individual PV cells may beturned off, turned on, reconfigured to series or parallel, or the like.

FIG. 2 shows example array 200 that includes six PV panels 202(A)-202(F)(collectively, “panels 202”) connected together by a pair of smartinterconnect devices 204, 206. In this example, smart interconnectdevices 204, 206 may enable all six PV panels 202 to be electricallycoupled and also dynamically updated. As such, if the maximum possiblevoltage output is desired (or required), each of PV panels 202(A)-202(F)may be electrically configured to be connected in series. Alternatively,if the maximum possible amperage output is desired (or required), eachof PV panels 202(A)-202(F) may be electrically configured to beconnected in parallel. Additionally, as desired, any combination ofseries and parallel arrangements may be utilized (configured by smartinterconnect devices 204, 206) to provide the desired output.

In some examples, smart interconnect devices 204, 206 may becommunicatively connected to each other via electrical cabling 208,which may be integrated into the panels, or separately provided orrouted between or behind the panels, for example. These cables can carrysignals, power, or both. However, in other examples, smart interconnectdevices 204, 206 may be connected via a wireless connection. Either way,devices 204, 206 may communicate with one another to identify/determinethe number of connected PV panels 202, identify/determine the geometricconfiguration of PV panels 202, and/or change the electrical connectionsbetween PV panels 202 in to order to facilitate changes in theelectrical output. Additionally, in some examples, the electrical outputmay be provided to an inverter via one of PV panels 202 (e.g., one of PVpanels 202 may be originally configured as the output source) ordirectly from one of smart interconnect devices 204, 206 (e.g., one ofsmart interconnect device 206 may be originally configured as the outputsource) via electrical wire 210.

Using smart interconnect devices 204, 206 with array 200, smartinterconnect devices 204, 206 and/or a remote service provider may beable to monitor the efficiency of array 200. For example, at a nominalvoltage and current output, array 200 would generally operateefficiently. However, if conditions change, the efficiency of array 200may decrease. As such, smart devices 204, 206 and/or the serviceprovider may be configured to increase the efficiency by changing theoutput voltage and current. Some potential variables for determining theoptimization of array 200 may include the location or existence of anystring-level inverters, and their respective input requirements. Voltageand current may also be regulated by DC/DC inverters connected to eachsmart interconnect device 204, 206. The updated efficiency may beobtained by changing the electrical connection arrangement (e.g., thenumber of panels in parallel versus the number of panels in series) ofarray 200. In some examples, smart devices 204, 206 may enable operationof array 200 as a multi-nodal network that attempts to always find theoptimal operational efficiency (voltage and current output). In at leastone example, a Monte Carlo simulation may be executed on a currentconfiguration of array 200 to determine the optimal configuration. Theoptimal configuration (which may be based at least in part on tolerancesof the string inverters) may then be implemented by controllers of smartdevices 204, 206. Conceptually, array 200 could be considered a gridthat could have multiple directions of input and/or output energy, aswell as multiple combinations of series and parallel connections.Additionally, in some examples, only two panels (or some number lessthan all) may be in communication with each other and/or with devices204, 206. While, in other examples, all of the panels may be incommunication with one another and/or with devices 204, 206 (e.g., in amaster/slave relationship with devices 204, 206. Yet, in other examples,individual devices 204, 206 may communicate with one another in anon-hierarchical (e.g., mesh) network utilizing any known protocols(e.g., Zigbee or the like).

FIG. 3 shows example interconnect device 300 that is connected to fourdifferent PV panels 302(A)-302(F) (collectively, “panels 302”). As shownhere, PV panels 302 can connect to smart interconnect device 300 atrespective corners. However, one of ordinary skill in the art wouldunderstand that this is just one example of many, and that the formfactor of smart interconnect device 300 (e.g., the specific locations ofdevice 300 that physically connect with panels 302) is independent ofthe dynamic functionality that smart interconnect device 300 provides.Still, using interconnect device 300 of FIG. 3 as an example, PV panels302 may connect at the corners. Each PV panel 302 may have a positiveand a negative terminal for electrically connecting to other PV panels302, inverters, and/or one or more interconnect devices 300.

In some examples, smart interconnect device 300 may also be configuredwith positive and negative terminals at each corner (or anywhere else).Each corner (or connection location) of smart interconnect device 300may also be configured with a socket configured to receive respective PVpanels 302. In some embodiments, each socket may be electricallyconnected to every other socket and/or to one or more input/outputcables 304, 306. However, in some embodiments, there may be some socketsthat are not connected to others such that not all sockets are alwaysconnected. For example, some bare minimum number of connections may bedesired, and the interconnection devices may be configured with anynumber or configuration of connections from the bare minimum to completeconnection (e.g., all sockets connected) based at least in part on theneeds of the system or the design. Devices with less than allconnections will limit the configurability of the system but will makethe interconnection device less expensive to manufacture. Further, eachof the electrical connections may be configured with a relay, a switch(e.g., solid-state or the like), or any other actuating devices(Mosfets, simple mechanical contactors, gas/chemical actuated devise,etc.) for opening/closing connections between individual connectedpanels 302. As such, by controlling the relays, the electricalconnections may be dynamically changed without disconnecting or manuallyrewiring or replacing PV panels 302. This permits optimum performanceuntil the damaged or otherwise underperforming PV component is repaired.

FIG. 4 shows another example interconnect device 400, with more internaldetail than interconnect device 300. Devices can be used to connect twoor more panels, depending on the specific panel design and systemrequirements. For example, smart interconnect device 400 includes one ormore positive and negative sockets 402, 404 for receiving PV panelterminals, input/output terminals 406 for receiving/providingelectricity to other panels or interconnect devices and/or forcommunicating (via powerline communication) with other systems (e.g.,other interconnect devices with other connected panels), and at leastone wireless radio 408 for potentially communicating with a gatewaydevice, a server, and/or other smart connection devices. Additionally,in some examples, the smart interconnect device may include controlmodule 410 configured to control the relays (switches) in order tooptimize the output as desired.

In some cases, control module 410 may include memory 422 and one or moreprocessors 424. Memory 422 may be configured to storecomputer-executable instructions that, when executed by one or moreprocessors 424, cause control module 410 to change the electricalconnectivity (arrangement) of the panels in order to optimize the outputof the system. In some examples, memory 422 may store instructions foroperating system 426 and/or logic for implementing communication module428 and/or relay control module 430. Communication module 428, whenexecuted by one or more processors 424, may be configured to communicatewith other smart interconnect devices and/or smart panels. Once thecommunication is established, smart interconnect device 400 may be ableto receive information about the system topography, connected panels,environmental conditions, panel/system health, etc. throughcommunication module 428. Additionally, once information has beenreceived through communication module 428, control module 410 may beable to determine an appropriate and/or optimal configuration of theconnected PV panels/systems via relay control module 430. Additionally,once the desired configuration is determined, relay control module 430may be configured to provide instructions for changing the electricalconnectivity of the panels by adjusting the relays (switches) of smartinterconnect device 400.

In some cases, control module 410 may configured to receive inputconditions for configuring the array of panels connected to smartinterconnect device 400. The first input condition may include boundaryconditions that identify appropriate end voltage and end current for thearray (e.g., the array may be configured to not exceed 600 Volts and 10Amps). The second input condition may be system-to-system conditions,such that each smart interconnect device 400 in the array cancommunicate their individual configurations (and voltage currentoutputs). Before each smart interconnect device 400 of the arrayphysically connects with other smart interconnect devices of the array,fault/safety checks may be performed to ensure that the optimizedconfiguration will not exceed the boundary conditions. In some examples,smart interconnect device 400 can be utilized to implement rapidshutdown (e.g., modular-level shorting) of each connected panel. Assuch, metal-oxide-semiconductor field-effect transistors (MOSFETs) maybe utilized as the switches/relays within smart interconnect device 400.

Additionally, in some examples, utilizing smart interconnect device 400,an array of panels may be built with an excess of panels such that anyinverter can be attached, and the configuration of the output of thearray can be optimized dynamically to meet the input limitations of theinverter. In this way, two stages (one for boosting the voltage andanother for converting to AC) may not be needed. Additionally, a fixedvoltage may be guaranteed by the array, independent of the number ofpanels installed in the array. New and/or upgraded inverters may then beinstalled at the location (even if they have different voltage andcurrent limitations), and the physical configuration and/or number ofpanels installed in the array will not need to changed. It should benoted that a four-panel connector can be used to connect two, three, orfour panels by simply turning off the unused sockets.

FIG. 5 shows two different example arrays 500, 502, each configureddifferently using smart interconnect devices as described (e.g., eachwith four corner-connection sockets). In example array 500, all ninepanels A-I may be configured in any combination of serial or parallelarrangements as desired. For example, array 500 may originally beconfigured with each panel A-I in series. However, if clouds coverpanels B, C, E, and F, the smart interconnect devices may identify thisenvironmental change, determine a more optimal configuration, and changethe relay configurations of each interconnect device to achieve adifferent arrangement (e.g., A, D, G, H, and I in series, with B, C, E,and F in parallel). Alternatively, in another example, the system (e.g.,the aggregate logic of each smart interconnect device in the array) maydetermine that panel E has failed and is no longer operational. As such,the system may decide to bypass panel E, by controlling the relays toconfigure an arrangement with panels A, B, C, D, F, G, H, and I inseries. In this example, the system (array) may be configured for outputto a single inverter at 504.

Much like with array 500, in example array 502, the six panels A-F maybe configured in any combination of series or parallel, as desired.Additionally, in some examples, the output may be provided to twodifferent inverters at 506, 508. As such, in some examples, the systemmay configure panel D to provide energy to the first inverter through506. However, at a later time, the system may change the output of panelD so that it provides energy to the second inverter through 508. In thisway, total control of the output voltage and amperage of the array (orset of arrays) may be attained utilizing the smart interconnect devices.For example, if each of the two inverters requires a particular voltage,but one sub-array (e.g., panels A-D) is not able to provide theparticular voltage to the first inverter due to environmental conditions(e.g., panels C and D are covered by a cloud), the system can reroutethe generated energy so that panels A and B are added in series to thesecond sub-array (e.g., panels E and F) to provide energy to the secondinverter.

FIG. 6 shows two different example arrays (strings) 600, 602, eachconfigured with eight panels A-H. While rectangular smart interconnectdevices (e.g., shown in FIG. 5) and octagonal smart interconnect devices604, 606 (e.g., shown here in FIG. 6) are shown, any shapes may be builtto accommodate any number and/or shape of panels. In example arrays 600,602, much like above, each of panels A-H may be configured into anycombination of series or parallel arrangements. Additionally, thearranged configurations may be changed dynamically and/or in real-timebased at least in part on detected environmental conditions or outputrequirements. Additionally, as shown in FIG. 6, different shaped panels(e.g., panel A and panel B are different shapes) can be combined withoutconsideration of inter-panel configuration to form a string, thussimplifying installation. In other words, any shaped panels may be used,as appropriate, to cover an area (e.g., a roof) without needing eachpanel to conform to a standard size or shape. In some embodiments, atechnician may be able to visit a solar installation site where a roofof unknown shape is located. In this example, the technician may be ableto use panels of different shape and size to fit the roof with panelsconnected by interconnection devices 604, 606 to maximize space orwattage of the system.

FIG. 7 shows example smart panel 700. While much of the discussion abovehas been with respect to a smart interconnect device configured tooptimize the output of an array of PV panels, similar functionality maybe achieved with smart panels, such as smart panel 700. For example,smart PV panel 700 may be configured to support a plurality of connectedPV cells. As such, each smart panel 700 may be able to provide aparticular amount of energy as output on its own. However, smart panel700 may also be configured to electrically couple with one or more otherpanels (e.g., other smart panels, other non-smart panels, and/or smartinterconnect devices). As shown in FIG. 7, the four corners of smartpanel 700 may be configured to couple with other panels; however, anynumber of couplings and any location of smart panels 700 may beconfigured to facilitate the coupling. Some panels may be configuredwith male-end couplings and/or female-end couplings to enable a varietyof different physical connection configurations.

In some examples, smart panel 700 may also be configured with internalwiring (e.g., similar to the smart interconnect device 400 of FIG. 4.The wiring may be configured with relays (switches) or other connectordevices capable of reconfiguring the other panels that may be coupled tosmart panel 700. In order to bypass a panel in a configuration, eachpanel 700 may be configured with a single wire (and relay) from input tooutput in such a way that the other connected panels can bypass a faultypanel that is connected. When a bypass is desired, all relays may beopened except for the relay that closes the wire to from the input tothe output of the panel. In this way, the electrical connection betweenthe previous panel and next panel can be opened without the electricityrunning through faulty panel 700 at all. Additionally, the smart panelmay be configured with control module 702 configured to optimize theoutput of smart panel 700 and/or array of connected panels. In somecases, control module 710 may include memory 722 and one or moreprocessors 724. Memory 722 may be configured to storecomputer-executable instructions that, when executed by one or moreprocessors 724, cause control module 710 to change the electricalconnectivity (arrangement) of connected panels in order to optimize theoutput of smart panel 700. In some examples, memory 722 may storeinstructions for operating system 726 and/or logic for implementingcommunication module 728 and/or relay control module 730.

Communication module 728, when executed by one or more processors 724,may be configured to communicate with other smart interconnect devicesand/or smart panels. Once the communication is established, smart panel700 may be able to receive information about the system topography,connected panels, environmental conditions, panel/system health, etc.through communication module 728. Additionally, once information hasbeen received through communication module 728, control module 710 maybe able to determine an appropriate and/or optimal configuration of theconnected panels via relay control module 730. Additionally, once thedesired configuration is determined, relay control module 730 may beconfigured to provide instructions for changing the electricalconnectivity of the panels by adjusting the relays (switches) of smartpanel 700.

FIG. 8 shows example configuration 800 of four different smart panels802(A)-(D) (collectively “smart panels 802”). In some examples, smartpanels 802 may be configured such that they have corresponding socketsfor easy connection with other smart panels 802. For example, smartpanel 802(A) may have a socket for connecting to other smart panels 802on the bottom right corner, 802(B) may have a socket for connecting toother smart panels 802 on the bottom left corner, and 802(C) may have asocket for connecting to other smart panels 802 on the top right corner.As such, when smart panel 802(A) is attached to smart panel 802(B) inthe configuration 800 shown here, the two panels may become electricallyand/or communicatively coupled. Similarly, when smart panel 802(A) isattached to smart panel 802(C), they may also become electrically and/orcommunicatively coupled. In some examples, the smart panels 802 mayinclude male-end and/or female-end couplings so that they physicallyattach to one another. However, in other examples, smart panels 802 maymagnetically snap together, in which case external plates may bepositioned such that when the two panels magnetize to one another, theplates line up and are able to connect electrically. Further, smartpanels 802 may include radios and/or network interface cards forcommunicating with one another, with a gateway device, and/or with aserver. In some examples, not all connected panels may communicate withone another. For example, panels 802(A)-(D) may all be connected;however, only a subset of the panels may communicate with one anotherand/or with a server/gateway device.

FIG. 9 shows example architecture 900 for controlling smart interconnectdevices and/or smart panels. As described herein, example architecture900 includes smart interconnect devices 902, smart panels 904, serviceprovider computers 906, and/or gateway devices 910 connected via one ormore networks 912, according to at least one example. In architecture900, smart interconnect devices 902 and/or smart panels 904 maycommunicate directly with one another (e.g., utilizing wired connectionsor the like) or they may utilize networks 912 (or other networks) tocommunicate and/or interact with one another. In some aspects, the logicfor optimizing the smart connection devices may be performed locally ateach smart device 902, 904, or it may be performed by one or moreservice provider computers 906. In this way, the smart devices mayprovide information (e.g., current configurations, environmentalconditions, etc.) to service provider computers 906 and configure theelectrical connections of the connected panels based at least in part oninstructions received from service provider computers 906.

Service provider computers 906 may, in some examples, communicate withsmart devices 902, 904 through gateway device 910. As such, serviceprovider computer 906 may provide control signals to gateway device 910for controlling smart devices 902, 904. In some examples, aggregatelogic may be utilized to determine a total output of an array thatincludes one or more smart interconnect devices 902 and/or smart panels904. This aggregate logic may be implemented locally (e.g., by eachsmart device 902, 904), by service provider computers 906, or by gatewaydevice 910 (or some other local processor that can communicate with eachsmart device 902, 904 of the array). As such, gateway device 910 may actas a local controller and may manage aggregate data collected fromindividual smart devices 902, 904 of each array. Further, in someexamples, a single array may be logically divided into sub-arrays(chunks) and each sub-array may be optimized individually, as desired.

In some examples, networks 912 may include any one or a combination ofmany different types of networks, such as cable networks, the Internet,wireless networks, cellular networks and other private and/or publicnetworks. As described above, smart interconnect device 902 and smartpanel 904 may each be configured with control module 914, 916,respectively. Control modules 914, 916 may be responsible forcontrolling the output of an array of panels connected to the eithersmart interconnect device 902 (or an array of panels with at least onesmart interconnect device 902) or smart panel 904 (or an array of panelswith at least one smart panel 904).

Service provider computers 906 may be any type of computing devices suchas, but not limited to a server computer, a personal computer, a smartphone, a personal digital assistant (PDA), a thin-client device, atablet PC, etc. In some examples, service provider computers 906 may bein communication with smart devices 902, 904 via networks 912 and/orthrough gateway device 901, or via other network connections.Additionally, service provider computers 906 may be part of adistributed system.

In one illustrative configuration, service provider computers 906 mayinclude at least one memory 918 and one or more processing units (orprocessor(s)) 920. The processor(s) 920 may be implemented asappropriate in hardware, computer-executable instructions, firmware, orcombinations thereof. Computer-executable instruction or firmwareimplementations of processor(s) 920 may include computer-executable ormachine-executable instructions written in any suitable programminglanguage to perform the various functions described.

Memory 918 may store program instructions that are loadable andexecutable on processor(s) 920, as well as data generated during theexecution of these programs. Depending on the configuration and type ofservice provider computers 906 and/or smart devices 902, 904, memory 918and/or memory of smart devices 902, 904 may be volatile (such as randomaccess memory (RAM)) and/or non-volatile (such as read-only memory(ROM), flash memory, etc.). Devices 902, 904, 906 may also includeadditional storage (e.g., storage 922), which may include removablestorage and/or non-removable storage. Additional storage 922 mayinclude, but is not limited to, magnetic storage, optical disks, and/ortape storage. The disk drives and their associated computer-readablemedia may provide non-volatile storage of computer-readableinstructions, data structures, program modules, and other data forcomputing devices 902, 904, 906. In some implementations, the memory ofthe devices (e.g., memory 918 or the memory of smart devices 902, 904)may include multiple different types of memory, such as static randomaccess memory (SRAM), dynamic random access memory (DRAM), or ROM.

The memory, the additional storage, both removable and non-removable,are all examples of computer-readable storage media. For example,computer-readable storage media may include volatile or non-volatile,removable or non-removable media implemented in any method or technologyfor storage of information such as computer-readable instructions, datastructures, program modules, or other data. The memory and theadditional storage are all examples of computer-readable storage media.Additional types of computer-readable storage media that may be presentin user devices 902, 904, 906 may include, but are not limited to, PRAM,SRAM, DRAM, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, DVD or other optical storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium which can be used to store the desired information and which canbe accessed by devices 902, 904, 906. Combinations of any of the aboveshould also be included within the scope of computer-readable storagemedia.

Alternatively, computer-readable communication media may includecomputer-readable instructions, program modules, or other datatransmitted within a data signal, such as a carrier wave, or othertransmission. However, as used herein, computer-readable storage mediadoes not include computer-readable communication media.

Devices 902, 904, 906 may also contain communications connection(s)(e.g., communication connections 924) that allow devices 902, 904, 906to communicate with other smart devices, a stored database, anothercomputing device or server, user terminals and/or other devices on thenetworks 912. Devices 902, 904, 906 may also include I/O device(s)(e.g., I/O device 926), such as a keyboard, a mouse, a pen, a voiceinput device, a touch input device, a display, speakers, a printer, etc.

Turning to the contents of memory 918 in more detail, memory 918 mayinclude operating system 928 and one or more application programs orservices for implementing the features disclosed herein including atleast control module 930 and interface module 932. In some cases,control module 930 may be configured to determine appropriateconfigurations for the electrically connected panels of smartinterconnect devices 902 and/or smart panels 904. For example, controlmodule 930 may receive environmental conditions and currentconfiguration information, and utilizing that information (and/or someoutput requirements or thresholds), may determine appropriate electricalconnection arrangements (e.g., combinations of series and/or parallel)for connected PV panels. Once determined, control module 930 may providecontrol signals back to smart devices 902, 904 for implementation. Insome examples, interface module 932 may be configured to provide a userinterface to one or more user devices. For example, interface module 932may communicate with one or more user devices to receive user-definedconfiguration information for controlling smart devices 902, 904. Inthis way, a user of the smart devices may set thresholds, rules, and/orconfiguration settings for smart devices 902, 904.

Gateway device 910 may also be any type of computing device such as, butnot limited to, a router or other computing device configured to shareinformation between two or more network-connected devices. In someexamples, gateway device 910 may be in communication with smart devices902, 904 and/or service providers 510 via networks 508, or via othernetwork connections.

FIGS. 10 and 11 show example flow diagrams of respective processes 1000and 1100 for controlling smart devices to optimize output, as describedherein. Processes 1000 and 1100 are illustrated as logical flowdiagrams, each operation of which represents a sequence of operationsthat can be implemented in hardware, computer instructions, or acombination thereof. In the context of computer instructions, theoperations represent computer-executable instructions stored on one ormore computer-readable storage media that, when executed by one or moreprocessors, perform the recited operations. Generally,computer-executable instructions include routines, programs, objects,components, data structures, and the like that perform particularfunctions or implement particular data types. The order in which theoperations are described is not intended to be construed as alimitation, and any number of the described operations can be combinedin any order and/or in parallel to implement the processes.

Additionally, some, any, or all of the processes may be performed underthe control of one or more computer systems configured with executableinstructions and may be implemented as code (e.g., executableinstructions, one or more computer programs, or one or moreapplications) executing collectively on one or more processors, byhardware, or combinations thereof. As noted above, the code may bestored on a computer-readable storage medium, for example, in the formof a computer program comprising a plurality of instructions executableby one or more processors. The computer-readable storage medium isnon-transitory.

In some examples, one or more processors (e.g., processors 424) of smartinterconnect device 400 of FIG. 4, may perform method 1000 of FIG. 10.Method 1000 may begin at 1002, where an interconnect device (e.g., smartinterconnect device 400) or a server computer in communication withsmart interconnect device 400 may measure the electrical performance ofa first configuration of one or more sockets or modules connected to theinterconnection device. For example, each socket may be coupled to a PVpanel, and may be configured for one of parallel or serial connectivitywith an adjacent (or other connected) PV panel. As such, the firstconfiguration may identify a particular arrangement of series and/orparallel connections between PV panels connected to the smartinterconnect device or part of an array of PV panels at least indirectlyconnected to the smart interconnect device. As such, a measurement maybe taken of the performance of the array or string of panels and/or ofthe output of the system. Performance measurements may identify currentelectrical characteristics of the system (e.g., voltage, current, power,resistance, impedance, etc.). In some examples, the system and/orindividual modules (panels) may be measured at night (e.g., when notcollecting solar energy) or at other times while not producing energy.Additionally, in some examples, output of a single module or circuit maybe turned off or otherwise deactivated so as to isolate the moduleseffect on performance of the system. The electrical performancecharacteristics may identify a level of performance (e.g., healthy,degrading, a percentage of full performance, etc.) of each individual PVpanel or of the entire array connected to the smart interconnect device.Additionally, the electrical performance characteristics may identifyenvironmental changes such as cloud cover or other obstructions to theconnected panels

At 1004, the smart interconnect device or server may calculateanticipated performance of the system based on one or more differentconfigurations of the system. For example, the device or server managingthe configurations of the system may simulate any number of differentpossible configurations of the system, and then calculate theperformance (anticipated) for each of those particular differentconfigurations. In some examples, a calculation may be performed forevery possible configuration given the connected set of operationalmodules (e.g., those connected to the interconnection device). However,in other examples, only a subset of the possible configurations may betested (calculated). Thus, an anticipated performance of anyconfiguration may be an expected level of output voltage or currentgiven a simulation and/or mathematical calculation of thatconfiguration. For example, if a system has three PV panels in series,the first configuration may be set to have all three panels in series.Thus, the electrical performance of this configuration may be measuredat 1002. Then, at 1004, several calculations may be performed todetermine anticipated performance for configurations with the threepanels in parallel, with one or more panels disconnected, or with somecombination of series and parallel arrangements.

At 1006, the smart interconnect device or server may reconfigure thesystem (change the relays internally or send a signal to theinterconnection device to have the relays changed) to a newconfiguration that matches a particular different configuration if theanticipated performance for that particular different configuration isbetter (more optimal or desired based at least in part on the inverterbeing used) than the measured performance of the first configuration. Insome examples, the different configuration with the best performance maybe selected (i.e., the system will be reconfigured to match thatparticular configuration) or some other different configuration.Selection of the appropriate different configuration (for reconfiguringthe system) may be based at least in part on inverter constraints,external factors, or customer/designer preference. Further, thedetermination may be based at least in part on the electricalperformance characteristics and/or an optimal energy output amount. Theoptimal energy output amount may be determined based at least in part oninverter requirements, grid requirements, best practices, settings,ranges, or efficiency standards.

FIG. 11 shows an example flow diagram for method 1100 for controlling asmart energy-generation panel (e.g., a smart PV panel), as describedherein. The one or more processors (e.g., processors 724) of smart PVpanel 700 of FIG. 7 may perform method 1100 of FIG. 11. Method 1100 maybegin at 1102 where a smart panel (e.g., smart panel 700) may identify atotal number of additional energy-generation panels (e.g., other PVpanels) that are electrically coupled together to form an array. Forexample, if four panels are coupled together to form an array of PVpanels, the smart panel may identify that there are three other panels,and that the array is a four-panel array. At 1104, the smart panel mayidentify a first electrical configuration for the array. For example,the smart panel may identify that all four panels are connected inseries. At 1106, the smart panel may receive performance characteristicsof the energy-generation modules in the array. As noted, the performancecharacteristics may identify a level of performance (e.g., healthy,degrading, a percentage of full performance, etc.) of each individual PVpanel or of the entire array.

At 1108, the smart panel may determine a second configuration. Thedetermination may be based at least in part on the electricalperformance characteristics and/or an optimal energy output amount. Theoptimal energy output amount may be determined based at least in part oninverter requirements, grid requirements, best practices, settings,ranges, or efficiency standards. The best practices, setting, and/orranges may be provided by an installation crew, a user (e.g.,homeowner), a programmer or account administrator, or the like. In someexamples, the grid requirements may be received from a utility companythat requires a particular amount of output to the grid. Further, theinverter requirements may be known based at least in part on a makeand/or model of the inverter. At 1110, the smart panel may configure theelectrical connectivity of the sockets of the smart panel based at leastin part on the second configuration. In other words, the configuredarrangement of the connected panels may be changed to change and/oroptimize the output of the array.

FIG. 12 is a simplified block diagram of computer system 1200 accordingto an embodiment of the present disclosure. Computer system 1200 can beused to implement any of the computer systems/devices (e.g., smartinterconnect device 400, smart panels 700, gateway devices 910, and/orservice provider computers 906) described with respect to FIGS. 1-9. Asshown in FIG. 12, computer system 1200 can include one or moreprocessors 1202 that communicate with a number of peripheral devices viabus subsystem 1204. These peripheral devices can include storagesubsystem 1206 (comprising memory subsystem 1208 and file storagesubsystem 1210), user interface input devices 1212, user interfaceoutput devices 1214, and network interface subsystem 1216.

In some examples, internal bus subsystem 1204 can provide a mechanismfor letting the various components and subsystems of computer system1200 communicate with each other as intended. Although internal bussubsystem 1204 is shown schematically as a single bus, alternativeembodiments of the bus subsystem can utilize multiple buses.Additionally, network interface subsystem 1216 can serve as an interfacefor communicating data between computer system 1200 and other computersystems or networks (e.g., the networks 912 of FIG. 9). Embodiments ofnetwork interface subsystem 1216 can include wired interfaces (e.g.,Ethernet, CAN, RS232, RS485, etc.) or wireless interfaces (e.g., ZigBee,Wi-Fi, cellular, etc.).

In some cases, user interface input devices 1212 can include a keyboard,pointing devices (e.g., mouse, trackball, touchpad, etc.), a barcodescanner, a touch-screen incorporated into a display, audio input devices(e.g., voice recognition systems, microphones, etc.), and other types ofinput devices. In general, use of the term “input device” is intended toinclude all possible types of devices and mechanisms for inputtinginformation into computer system 1200. Additionally, user interfaceoutput devices 1214 can include a display subsystem, a printer, ornon-visual displays such as audio output devices, etc. The displaysubsystem can be any known type of display device. In general, use ofthe term “output device” is intended to include all possible types ofdevices and mechanisms for outputting information from computer system1200.

Storage subsystem 1206 can include memory subsystem 1208 and file/diskstorage subsystem 1210. Subsystems 1208 and 1210 representnon-transitory computer-readable storage media that can store programcode and/or data that provide the functionality of embodiments of thepresent disclosure. In some embodiments, memory subsystem 1208 caninclude a number of memories including a main RAM 1218 for storage ofinstructions and data during program execution and a ROM 1220 in whichfixed instructions may be stored. File storage subsystem 1210 canprovide persistent (i.e., non-volatile) storage for program and datafiles, and can include a magnetic or solid-state hard disk drive, anoptical drive along with associated removable media (e.g., CD-ROM, DVD,Blu-Ray, etc.), a removable flash memory-based drive or card, and/orother types of storage media known in the art.

It should be appreciated that computer system 1200 is illustrative andnot intended to limit embodiments of the present disclosure. Many otherconfigurations having more or fewer components than system 1200 arepossible.

Illustrative methods and systems for controlling smart interconnectdevices and/or smart panels are described above. Some or all of thesesystems and methods may, but need not, be implemented at least partiallyby architectures such as those shown at least in FIGS. 1-9 above. Whilemany of the embodiments are described above with reference toinformation and/or control signals, it should be understood that anytype of electronic content may be managed using these techniques.Further, in the foregoing description, various non-limiting exampleswere described. For purposes of explanation, specific configurations anddetails are set forth in order to provide a thorough understanding ofthe examples. However, it should also be apparent to one skilled in theart that the examples may be practiced without the specific details.Furthermore, well-known features were sometimes omitted or simplified inorder not to obscure the example being described.

The various embodiments further can be implemented in a wide variety ofoperating environments, which in some cases can include one or more usercomputers, computing devices or processing devices which can be used tooperate any of a number of applications. User or client devices caninclude any of a number of personal computers, such as desktop or laptopcomputers running a standard operating system, as well as cellular,wireless and handheld devices running mobile software and capable ofsupporting a number of networking and messaging protocols.

Most embodiments utilize at least one network that would be familiar tothose skilled in the art for supporting communications using any of avariety of commercially-available protocols, such as TCP/IP, OSI, FTP,UPnP, NFS, CIFS, and AppleTalk. The network can be, for example, a localarea network, a wide-area network, a virtual private network, theInternet, an intranet, an extranet, a public switched telephone network,an infrared network, a wireless network, and any combination thereof.

In embodiments utilizing a network server, the network server can runany of a variety of server or mid-tier applications, including HTTPservers, FTP servers, CGI servers, data servers, Java servers, andbusiness application servers. The server(s) also may be capable ofexecuting programs or scripts in response requests from user devices,such as by executing one or more applications that may be implemented asone or more scripts or programs written in any programming language,such as Java®, C, C# or C++, or any scripting language, such as Perl,Python or TCL, as well as combinations thereof. The server(s) may alsoinclude database servers, including without limitation thosecommercially available from Oracle®, Microsoft®, Sybase®, and IBM®.

The environment can include a variety of data stores and other memoryand storage media as discussed above. These can reside in a variety oflocations, such as on a storage medium local to (and/or resident in) oneor more of the computers or remote from any or all of the computersacross the network. In a particular set of embodiments, the informationmay reside in a storage-area network (SAN) familiar to those skilled inthe art. Similarly, any necessary files for performing the functionsattributed to the computers, servers or other network devices may bestored locally and/or remotely, as appropriate. Where a system includescomputerized devices, each such device can include hardware elementsthat may be electrically coupled via a bus, the elements including, forexample, at least one central processing unit (CPU), at least one inputdevice (e.g., a mouse, keyboard, controller, touch screen or keypad),and at least one output device (e.g., a display device, printer orspeaker). Such a system may also include one or more storage devices,such as disk drives, optical storage devices, and solid-state storagedevices such as RAM or ROM, as well as removable media devices, memorycards, flash cards, etc.

Such devices also can include a computer-readable storage media reader,a communications device (e.g., a modem, a network card (wireless orwired), an infrared communication device, etc.), and working memory asdescribed above. The computer-readable storage media reader can beconnected with, or configured to receive, a non-transitorycomputer-readable storage medium, representing remote, local, fixed,and/or removable storage devices as well as storage media fortemporarily and/or more permanently containing, storing, transmitting,and retrieving computer-readable information. The system and variousdevices also typically will include a number of software applications,modules, services or other elements located within at least one workingmemory device, including an operating system and application programs,such as a client application or browser. It should be appreciated thatalternate embodiments may have numerous variations from that describedabove. For example, customized hardware might also be used and/orparticular elements might be implemented in hardware, software(including portable software, such as applets) or both. Further,connection to other computing devices such as network input/outputdevices may be employed.

Non-transitory storage media and computer-readable storage media forcontaining code, or portions of code, can include any appropriate mediaknown or used in the art such as, but not limited to, volatile andnon-volatile, removable and non-removable media implemented in anymethod or technology for storage of information such ascomputer-readable instructions, data structures, program modules orother data, including RAM, ROM, Electrically Erasable ProgrammableRead-Only Memory (EEPROM), flash memory or other memory technology,CD-ROM, DVD or other optical storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices or any othermedium which can be used to store the desired information and which canbe accessed by the a system device. Based on the disclosure andteachings provided herein, a person of ordinary skill in the art willappreciate other ways and/or methods to implement the variousembodiments. However, computer-readable storage media does not includetransitory media such as carrier waves or the like.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the disclosure asset forth in the claims.

Other variations are within the spirit of the present disclosure. Thus,while the disclosed techniques are susceptible to various modificationsand alternative constructions, certain illustrated embodiments thereofare shown in the drawings and have been described above in detail. Itshould be understood, however, that there is no intention to limit thedisclosure to the specific form or forms disclosed, but on the contrary,the intention is to cover all modifications, alternative constructionsand equivalents falling within the spirit and scope of the disclosure,as defined in the appended claims.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing the disclosed embodiments (especially in thecontext of the following claims) are to be construed to cover both thesingular and the plural, unless otherwise indicated herein or clearlycontradicted by context. The terms “comprising,” “having,” “including,”and “containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to,”) unless otherwise noted. The term“connected” is to be construed as partly or wholly contained within,attached to, or joined together, even if there is something intervening.The phrase “based on” should be understood to be open-ended, and notlimiting in any way, and is intended to be interpreted or otherwise readas “based at least in part on,” where appropriate. Recitation of rangesof values herein are merely intended to serve as a shorthand method ofreferring individually to each separate value falling within the range,unless otherwise indicated herein, and each separate value isincorporated into the specification as if it were individually recitedherein. All methods described herein can be performed in any suitableorder unless otherwise indicated herein or otherwise clearlycontradicted by context. The use of any and all examples, or exemplarylanguage (e.g., “such as”) provided herein, is intended merely to betterilluminate embodiments of the disclosure and does not pose a limitationon the scope of the disclosure unless otherwise claimed. No language inthe specification should be construed as indicating any non-claimedelement as essential to the practice of the disclosure.

Disjunctive language such as the phrase “at least one of X, Y, or Z,”unless specifically stated otherwise, is otherwise understood within thecontext as used in general to present that an item, term, etc., may beeither X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z).Thus, such disjunctive language is not generally intended to, and shouldnot, imply that certain embodiments require at least one of X, at leastone of Y, or at least one of Z to each be present. Additionally,conjunctive language such as the phrase “at least one of X, Y, and Z,”unless specifically stated otherwise, should also be understood to meanX, Y, Z, or any combination thereof, including “X, Y, and/or Z.”

Preferred embodiments of this disclosure are described herein, includingthe best mode known to the inventors for carrying out the disclosure.Variations of those preferred embodiments may become apparent to thoseof ordinary skill in the art upon reading the foregoing description. Theinventors expect skilled artisans to employ such variations asappropriate, and the inventors intend for the disclosure to be practicedotherwise than as specifically described herein. Accordingly, thisdisclosure includes all modifications and equivalents of the subjectmatter recited in the claims appended hereto as permitted by applicablelaw. Moreover, any combination of the above-described elements in allpossible variations thereof is encompassed by the disclosure unlessotherwise indicated herein or otherwise clearly contradicted by context.

All references, including publications, patent applications, andpatents, cited herein are hereby incorporated by reference to the sameextent as if each reference were individually and specifically indicatedto be incorporated by reference and were set forth in its entiretyherein.

What is claimed is:
 1. A solar panel, comprising: a structure configuredto support a plurality of energy-generation cells and including at leastone socket configured to electrically couple to at least one additionalsolar panel or an inverter; a memory for storing computer-executableinstructions; and a processor configured to access the memory andexecute the computer-executable instructions to at least: identify atotal number of additional solar panels electrically coupled togetherthat form a solar array; identify a first electrical configuration ofthe solar array; receive electrical performance characteristics of eachsolar panel of the solar array; determine, based at least in part on theelectrical performance characteristics and an optimal energy outputamount, a second electrical configuration for the solar array; andconfigure electrical connectivity of the at least one socket based atleast in part on the determined second electrical configuration.
 2. Thepanel of claim 1, wherein the solar panel comprises a plurality ofphoto-voltaic cells.
 3. The panel of claim 1, further comprising aplurality of connection devices comprising at least one of a relay or aswitch, each connection device of the plurality of connection devicesconfigured to connect the at least one additional solar panel forconfiguring the electrical connectivity.
 4. The panel of claim 1,wherein the first electrical configuration of the at least one socketcomprises a first combination of series and/or parallel arrangementsbetween the solar panel and the at least one additional solar panel. 5.The panel of claim 4, wherein the second electrical configuration of theat least one socket comprises a second combination of series and/orparallel arrangements between the solar panel and the at least oneadditional solar panel that is different from the first combination ofseries and/or parallel arrangements.
 6. The panel of claim 1, furthercomprising a communication device configured to receive information froma second solar panel.
 7. The panel of claim 6, wherein the processor isfurther configured to execute the computer-executable instructions to atleast determine the second electrical configuration based at least inpart on the information received from the second solar panel.
 8. Anenergy-generation panel, comprising: a structure configured to support aplurality of energy-generation cells and including one or more socketsconfigured to receive and electrically couple to one or more additionalenergy-generation panels; a memory for storing computer-executableinstructions; and a processor configured to access the memory andexecute the computer-executable instructions to at least manageelectrical connections of the one or more sockets.
 9. The panel of claim8, wherein the processor is further configured to execute thecomputer-executable instructions to at least: receive electricalperformance characteristics of an energy-generation system, theenergy-generation system comprising at least the energy-generation panelelectrically coupled to the one or more additional energy-generationpanels; and configure electrical connectivity of the one or more socketsin any combination of series and parallel arrangements based at least inpart on the electrical performance characteristics of theenergy-generation system.
 10. The panel of claim 9, wherein theconfigured combination of series and parallel arrangements of the one ormore sockets is different from a second combination of series andparallel arrangements of the one or more sockets that was configuredprior to receipt of the electrical performance characteristics.
 11. Thepanel of claim 10, wherein the second combination of series and parallelarrangements is less efficient than the configured combination of seriesand parallel arrangements associated with the configured electricalconnectivity of the one or more sockets.
 12. The panel of claim 9,further comprising means for measuring the electrical performance of theenergy-generation system.
 13. The panel of claim 9, further comprising acommunication device configured to receive information from a secondenergy-generation panel.
 14. The panel of claim 13, wherein thecommunication device receives the information over a wireless network orthrough an electrical coupling between the energy-generation panel andthe second energy-generation panel.
 15. A method for managingconnections between an energy-generation panel and additionalenergy-generation panels electrically coupled to sockets of theenergy-generation panel, comprising: receiving electrical performancecharacteristics of an energy-generation array comprising theenergy-generation panel and the additional energy-generation panels;determining, based at least in part on the electrical performancecharacteristics and an output factor, an electrical configuration forthe sockets; and configure electrical connectivity of the sockets, basedat least in part on the determined electrical configuration, to connectat least a subset of panels that make up the energy-generation array.16. The method of claim 15, wherein the electrical performancecharacteristics are received from a server computer configured tomeasure the electrical performance of the energy-generation array. 17.The method of claim 16, further comprising receiving a request foroperational performance of the energy-generation panel from the servercomputer.
 18. The method of claim 17, wherein the request is receivedbased at least in part on a schedule or a trigger.
 19. The method ofclaim 15, wherein the arrangement comprises a combination of series andparallel arrangements.
 20. The method of claim 15, wherein the energygeneration panel has a first shape that is different from a second shapeof at least one of the additional energy-generation panels.